// // Thanks http://stackoverflow.com/questions/1638337/the-best-way-to-synchronize-client-side-javascript-clock-with-server-date

// var serverTimeOffset = false;
// function getServerTime(callback) {
//     if (serverTimeOffset === false) {

//         var scripts = document.getElementsByTagName("script"),
//             URL = scripts[scripts.length - 1].src;

//         var clientTimestamp = Date.parse(new Date().toUTCString());
//         var xmlhttp = new XMLHttpRequest();
//         xmlhttp.open("HEAD", URL + "?noCache=" + Date.now(), true);
//         xmlhttp.onload = function(){
//             if (xmlhttp.readyState === 4) {
//                 if (xmlhttp.status === 200) {

//                     var serverDateStr = xmlhttp.getResponseHeader('Date');
//                     var serverTimestamp = Date.parse(new Date(Date.parse(serverDateStr)).toUTCString());

//                     var serverClientRequestDiffTime = serverTimestamp - clientTimestamp;
//                     var nowTimeStamp  = Date.parse(new Date().toUTCString());

//                     var serverClientResponseDiffTime = nowTimeStamp - serverTimestamp;
//                     var responseTime = (serverClientRequestDiffTime - nowTimeStamp + clientTimestamp - serverClientResponseDiffTime )/2;

//                     serverTimeOffset = (serverClientResponseDiffTime - responseTime);

//                     var date = new Date();

//                     date.setTime(date.getTime() + serverTimeOffset);

//                     callback.call(null, date);
//                 } else {
//                     console.error(xmlhttp.statusText);
//                 }
//             }
//         };
//         xmlhttp.send(null);
        
//     } else {
//         var date = new Date();

//         date.setTime(date.getTime() + serverTimeOffset);

//         callback.call(null, date);
//     }
// }

// timesync